<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>02_关于引用变量赋值问题</title>
</head>
<body>
<!--
关于引用变量赋值问题
  * n个引用变量指向同一个对象, 通过一个引用变量修改对象内部数据,其他所有引用变量看到的都是修改之后的数据
  * 2个引用变量指向同一个对象，让其中一个引用变量指向另一个对象, 另一个引用变量依然指向原来的对象
-->
<script type="text/javascript">

  //1. n个引用变量指向同一个对象, 通过一个引用变量修改对象内部数据,其他所有引用变量看到的都是修改之后的数据
 //  var obj1 = {}
 //  var obj2 = obj1
 //  obj2.name = 'Tom';
 //  obj1.age=18;
 //  console.log(obj1.name,obj1.age);//Tom 18
 //
 //  function f1(obj) {
 //    obj.age = 12
 //  }
 //  f1(obj2)
 //  console.log(obj2.age);//12


  //2. 2个引用变量指向同一个对象，让其中一个引用变量指向另一个对象, 另一个引用变量依然指向原来的对象
  var obj3 = {name: 'Tom',age:18}
  var obj4 = obj3//让其中一个引用变量指向另一个对象
  obj3 = {name: 'JACK'}
  console.log(obj4);//{name: "Tom", age: 18}
  console.log(obj3);//{name: "JACK"}
 
  function f2(obj) {
    obj = {name: 'Bob'};//让其中一个引用变量指向另一个对象
		console.log(obj);//{name: "Bob"}
  }
  f2(obj4);
  console.log(obj4.name);//Tom //另一个引用变量依然指向原来的对象

</script>
</body>
</html>